1. Technical Field
The present invention relates to data processing and, in particular, to performance benchmarks. Still more particularly, the present invention provides a method, apparatus, and program for measuring server performance using multiple clients.
2. Description of Related Art
A bench mark is a test that measures the performance of a system or subsystem on a well-defined task or set of tasks. Bench marks are commonly used to predict the performance of an unknown system on a known, or at least well-defined, task or workload. Bench marks can also be used as monitoring and diagnostic tools. By running a bench mark and comparing the results against a known configuration, one can potentially pinpoint the cause of poor performance. Similarly, a developer can run a bench mark after making a change that might impact performance to determine the extent of the impact.
Many performance bench marks for computer systems apply heavy loads to servers through the use of multiple, distributed client processes. To apply sufficient load, these client processes are typically distributed across multiple physical systems because an individual physical system is likely to become saturated. As a result, a master process is required to control the execution of the client processes. Current bench marks typically use a single master process running on one of the client systems.
Using a single master process leads to several problems. First, a single master process cannot ensure, nor know, when all the client processes are driving load on the server. Second, the master process may contend for system resources affecting the results reported by the client processes on the system on which it is running.
Therefore, it would be advantageous to provide an improved mechanism for measuring server performance using multiple clients.